﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.InteropServices;
using System.Text;
using System.Threading.Tasks;

namespace 枚举练习
{
    /// <summary>
    /// QQ状态枚举   //三杠状态作用
    /// </summary>
    enum E_QQType   //自定义QQ在线状态
    {
        Online,
        Busy,
        Leave,
        InVisible,   //最后一个逗号可有可无
    }
    enum E_coffee
    {
        小杯,
        中杯,
        大杯,
    }
    enum E_sex
    {
        man,
        woman,
    }
    enum E_occumption  // 职业 
    {
        战士,
        猎人,
        法师,


    }


    internal class Program
    {
        static void Main(string[] args)
        {

            #region 定义QQ在线状态，并提醒用户选择一个在线状态，以数字的形式选择，并且将它转换为枚举类型
            //try
            //{
            //    Console.WriteLine("请输入QQ在线状态：(0)Online,(1)Busy,(2)Leave(3)Invisible");
            //    int type  = int.Parse(Console.ReadLine());
            //    E_QQType e_QQType = (E_QQType)type;
            //    Console.WriteLine(e_QQType);
            //}
            //catch
            //{
            //    Console.WriteLine("请输入一个数字");
            //}
            #endregion
            #region  用户输入数字确定咖啡的类型 并以用户购买了什么种类的咖啡，花费了多少元结束
            try
            {
                Console.WriteLine("请选择一种咖啡 (0)小杯 (1)中杯 （2）大杯");
                int type = int.Parse(Console.ReadLine());
                E_coffee e_coffee = (E_coffee)type;    //E_coffee e_coffee = (E_coffee)int.Console.ReadLine());
                switch (e_coffee)
                {
                    case E_coffee.小杯:
                        Console.WriteLine("用户购买了小杯，花费了20元");
                        break;
                    case E_coffee.中杯:
                        Console.WriteLine("用户购买了中杯，花费了25元");
                        break;
                    case E_coffee.大杯:
                        Console.WriteLine("用户购买了大杯，花费了30元");
                        break;
                }

            }
            catch
            {
                Console.WriteLine("请用户输入一个数字");
            }
            #endregion
            #region  请选择英雄性别与英雄职业，最后打印英雄的基本属性（攻击力，防御力，技能）
            Console.WriteLine("请选择角色性别{0}man,(1)woman ");
            E_sex sex = (E_sex)int.Parse(Console.ReadLine());
            int atk = 0;  //攻击初始化
            int def = 0;  //防御力初始化

            switch (sex)    //将男女角色的攻击和防御相关属性确定
            {
                case E_sex.man:
                    atk += 50;
                    def += 100;
                    break;
                case E_sex.woman:
                    atk = +150;
                    def += 20;
                    break;
            }
            Console.WriteLine("请玩家选择职业(0)战士（1）猎人 （2）法师");
            E_occumption occumption = (E_occumption)int.Parse(Console.ReadLine());
            switch (occumption)   //用于读取用户输入的数字
            {
                case E_occumption.战士:
                    atk += 20;
                    def += 100;

                    break;
                case E_occumption.猎人:
                    atk += 120;
                    def += 30;
                    break;
                case E_occumption.法师:
                    atk += 200;
                    def += 10;
                    break;
            }
            Console.WriteLine("你选择了{0}{1},攻击力为{2}，防御力为{3}", sex, occumption, atk, def);
            #endregion

        }
    }
}
